package com.anti.modular.bus.roomreservation.entity;

import com.anti.commom.support.model.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 房间预定
 *
 * @author anti
 * @date 2021-04-23 09:43:48
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Entity
@Table(name="room_reservation")
public class RoomReservation extends BaseEntity {

    /**
     * 主键id
     */
    @Id
    private Long id;

    /**
     * 预定单号
     */
    private String ydNo;

    /**
     * 预定房间id
     */
    private Long roomId;

    /**
     * 房间编号
     */
    private String roomCode;

    /**
     * 预定人
     */
    private String reservation;

    /**
     * 联系方式
     */
    private String phone;

    /**
     * 最晚入住日期
     */
    private Date latestDate;

    /**
     *  定金（0.00）
     */
    private BigDecimal deposit;

    /**
     * 收款日期
     */
    private Date collectionDate;

    /**
     * 收款方式
     */
    private Integer collectionType;

    /**
     * 收款方式名稱
     */
    private String collectionTypeName;

    /**
     * 收租周期
     */
    private String receiptCycle;

    /**
     * 付 （字典 付1-付18）
     */
    private Integer receiptFu;

    /**
     * 押 （字典 押1-押18-自定义19）
     */
    private Integer receiptYa;

    /**
     * 依据（字典 1日 2月 3年 4一次付清）
     */
    private Integer receiptYj;

    /**
     * 每月租金
     */
    private BigDecimal rent;

    /**
     * 备注
     */
    private String remark;

    /**
     * 状态（字典 0正常 1已簽約 2取消簽約）
     */
    private Integer status;

    /**
     * 退款方式   99 定金对冲
     */
    private Integer refundStyle;

    /**
     * 取消或签约单号
     */
    private String operatingYdNo;

    /**
     * 操作时间
     */
    private Date operatingTime;

    /**
     * 操作人
     */
    private Long operatingUser;

    /**
     * 起租日期
     */
    private Date startRentTime;


    private String createUserName;
}
